package com.wechat.service.quartz.job;

import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;

public abstract class AbstractJob implements Job {

	/**
	 * 
	 * @return Cron 表达式
	 */
	public abstract String getTaskCron()  ;
	/**
	 * taskName + taskGroup 全局唯一
	 * @return 任务名称
	 */
	public abstract String getTaskName()  ;
	/**
	 * taskName + taskGroup 全局唯一
	 * @return 任务分组
	 */
	public abstract String getTaskGroup()  ;
	/**
	 * 需要自己实现 
	 * @return 任务描述信息
	 */
	public abstract String getTaskDesc() ;
	
	/**
	 * 任务类名
	 * @return
	 */
	public final String getClassName() {
		return this.getClass().getName();
	}
	/**
	 * 默认运行
	 * @return
	 */
	public boolean isTaskRun() {
		return true;
	}

	/**
	 * 需要自己实现
	 */
	@Override
	public abstract void execute(JobExecutionContext context) throws JobExecutionException;

}
